Software protection is a family of computer security techniques that are used to prevent the unauthorized copying of software. In other words, software must be able to determine whether the user is properly licensed to use it, and run only if this is the case.
Another problem related to software protection is how to identify whether the chip (e.g., semiconductor device) or platform, on which the software is running, is a counterfeit chip. Counterfeit chips have proliferated and are a risk to the electronics supply chain. The product fallout from counterfeit semiconductors can range from small problems like dropped calls to much larger issues. Consequently, identifying and restricting the usage of counterfeit chips in the electronics supply chain is vital.
One of the biggest challenges for software intellectual property and content protection is to make the protected software be able to identify the hardware platform on which it is running There is a need to design a zero-cost solution which does not need to add extra logic to the existing chip designs and could even be applied to the already manufactured chips.
Therefore, a solution is needed that allows software to uniquely identify a hardware platform in which it is running without the need for extra logic and/or identification specific circuit components.